$(function () {
    // 登录按钮处理
    var curUser = JSON.parse($.cookie('User'));
    var curCar = JSON.parse($.cookie('Car'));
    if (curUser == null) {
        $('#nav .user a:eq(0)').text('登录').attr('href', './login.html')
        $('#nav .user a:eq(1)').text('购物车').attr('href', './login.html')
    } else {
        $('#nav .user a:eq(0)').text(curUser.username).attr('href', '#')
        $('#nav .user a:eq(1)').text(`购物车`).attr('href', './car.html')
    }
    // 购物车按钮判断
    $('#nav .user a:eq(1)').on('click',function(e) {
        e.preventDefault();
        if($(this).attr('href') == './login.html'){
            layer.alert(
                '您还没有登录请先登录',
                {   icon: 0, 
                    shadeClose: true, 
                    title: '消息',
                },
                function(){
                    location.href='../login.html'
                },
            );
        } else {
            location.href='../car.html'
        }
    })
    // 根据路径上的id返回对应的商品对象
    function getGoods(id) {
        return shoes[(id - 1)];
    }

    // 获取路径中id的值
    function getQueryParam(key) {
        if (!key) {
            return false;
        }
        var value = '';
        var paramStr = window.location.search ? window.location.search.substr(1) : '';

        if (paramStr) {
            paramStr.split('&').forEach(function (param) {
                var arr = param.split('=');
                if (arr[0] == key) {
                    value = arr[1];
                }
            });
        }
        return value;
    }
    // 得到当前id的下标
    var theGoodId = getQueryParam('id');
    // 获取当前的商品对象
    var thisGood = getGoods(theGoodId);
    var number = $('.choose').text();
    // 初始化
    init();

    function init() {
        $('#main .nav').append(`<span>${thisGood.name}</span>`)
        $('#main .intro .leftImg').append(`<img src="${thisGood.src}" alt="">`);
        $('#main .intro .right').prepend(`
        <p class="price">${thisGood.price}</p>
                <p class="name">${thisGood.name}</p>`)
        $('#main .intro button').text(`加入购物车${thisGood.price}`);

        for(var i = 0; i <thisGood.details.length; i++) {
            var item = thisGood.details[i];
            $('#bigImg').append(`<img src="${item}" alt="">`);
        }
    }

    // 根据某一个商品id,获取该商品在购物车数组中的下标
    function carIndex(id) {
        var theGoodIndex = -1;
        $.each(curCar, function (index, item) {
            if (item.id == theGoodId) {
                theGoodIndex = index;
                return;
            }
        })
        return theGoodIndex;
    }

    // 减少
    $('#main .intro .decrease').on('click', function (e) {
        e.stopPropagation();
        if (number == 1) {
            return;
        }
        else {
            number--;
            $('.choose').text(number);

            $('#main .intro button').text($('#main .intro button').text().substring(0, 5) + '$' + number * $('#main .intro .price').text().substring(1))
        }
    })

    // 增加
    $('#main .intro .increase').on('click', function (e) {
        e.stopPropagation();
        number++;
        $('.choose').text(number);
        $('#main .intro button').text($('#main .intro button').text().substring(0, 5) + '$' + number * $('#main .intro .price').text().substring(1))
    })

    // 添加购物车
    $('#main .intro button').on('click', function (e) {
        e.stopPropagation();
        // 未登录处理
        if(curUser==null) {
            layer.msg('请先登录账号', { icon: 2,time: 2000 },function (){
                location.href = '../login.html';
            });
            return;
        }

        var thisIndex = carIndex(theGoodId);
        // 如果当前购物车有该商品
        if (thisIndex != -1) {
            // 购物车中的选中数量修改
            curCar[thisIndex].choose = +curCar[thisIndex].choose + +number;
            // 购物车中价格修改
            curCar[thisIndex].price += +number * $('#main .intro .price').text().substring(1);
        } else {
            // 如果没有就添加一个新的对象进去
            var obj = {};
            obj.id = theGoodId;
            obj.choose = number;
            obj.price = number * $('#main .intro .price').text().substring(1);
            obj.isToPay = false;
            curCar.push(obj);
        }
        layer.msg('添加成功', { icon: 1 });
        number = 1;
        // 重置number
        $('.choose').text(number);

        // 更新json
        $.cookie('Car', JSON.stringify(curCar));
    })
})